package demo1217.pm;

import java.util.ArrayList;

/*
泛型是Java SE 5.0引入的特性，泛型的本质是参数化类型。
在类、接口和方法的定义过程中，所操作的数据类型被
传入的参数指定。

ArrayList类的定义中，<E>中E为泛型参数，在创建对象时 可以将类型作为参数传递，
此时，类定义所有的E将被替换成传入的参数；

泛型集合：
概念：参数化类型，类型安全的集合，强制集合中的元素类型保持一致。
泛型可以定义在类名 方法 接口

泛型定义在类名
格式:
修饰符 class 类名<A>{

}
A:就是泛型,可以在整个类中作为一个引用数据类型使用.

 */
public class Demo_07 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("hello");
        list.add("world");
        list.add("world2");

        Util<String> util = new Util<>();
        util.setA("3245678");


    }
}
class Util<A>{
    A a;

    public Util(A a) {
        this.a = a;
    }

    public Util() {
    }

    public void setA(A a) {
        this.a = a;
    }

    public void print(){
        System.out.println(a);
    }
    //定义在类上的泛型,能不能在类中的静态方法中使用?不能
    public static void show(){
        System.out.println();
    }
}